package websocket.entity;

import java.util.List;
import java.util.function.DoubleToLongFunction;

/**
 * @author nieruijie
 * @date 2022/4/20 0:05
 */
public class UavInfo {
    /**
     * 空速(m/s)
     */
    private Double airSpeed;
    /**
     * 海拔(m)
     */
    private Double altitude;
    /**
     * 气压计温度(℃)
     */
    private Double barometerTemp;
    /**
     * 电池剩余电量(%)
     */
    private Double battaryRemain;
    /**
     * 爬升率(m/s)
     */
    private Double climbRate;
    /**
     * 电流(A)
     */
    private Double current;
    /**
     * 时间戳
     */
    private Long dateTime;
    /**
     * 到 Home 点距离 (m)
     */
    private Double distanceToHome;
    /**
     * 到下一任务点距离(m)
     */
    private Double distanceToNext;
    /**
     * 已飞行距离(m)
     */
    private Double flightDistance;
    /**
     * 飞行模式
     */
    private String flightMode;
    /**
     * 飞行架次
     */
    private String flightSortie;
    /**
     * 飞行状态 1 飞行中 0 未飞
     */
    private Integer flightState;
    /**
     * 飞行时间 (s)
     */
    private String flightTime;
    /**
     * 对地速度 (m/s)
     */
    private Double groundSpeed;
    /**
     * 高度(m)
     */
    private Double height;
    /**
     * 处理器温度(℃)
     */
    private Double imuTemp;
    /**
     * 是否定位 “1” 已定位 “0” 未定位
     */
    private String isLocation;
    /**
     * 软件推流状态 1 推流中 0 未推流
     */
    private String push_status;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 俯仰
     */
    private Double pitch;
    /**
     * 横滚
     */
    private Double roll;
    /**
     * 平台类型
     */
    private Integer platformType;
    /**
     * 卫星数
     */
    private Integer satCount;
    /**
     * 任务 id
     */
    private String taskId;
    /**
     * 用户 id
     */
    private Integer uid;
    /**
     * 无人机类型
     */
    private Integer unmannedId;
    /**
     * 电池电压(V)
     */
    private Double voltage;
    /**
     * 偏航
     */
    private Double yaw;
    /**
     * 上锁状态 (0 上锁 1 解锁)
     */
    private Integer armd;
    /**
     * 挂载类型列表
     */
    private List<Object> currentMountType;
    /**
     * 自定义数据
     */
    private CustomData customData;

    @Override
    public String toString() {
        return "UavInfo{" +
                "airSpeed=" + airSpeed +
                ", altitude=" + altitude +
                ", barometerTemp=" + barometerTemp +
                ", battaryRemain=" + battaryRemain +
                ", climbRate=" + climbRate +
                ", current=" + current +
                ", dateTime=" + dateTime +
                ", distanceToHome=" + distanceToHome +
                ", distanceToNext=" + distanceToNext +
                ", flightDistance=" + flightDistance +
                ", flightMode='" + flightMode + '\'' +
                ", flightSortie='" + flightSortie + '\'' +
                ", flightState=" + flightState +
                ", flightTime='" + flightTime + '\'' +
                ", groundSpeed=" + groundSpeed +
                ", height=" + height +
                ", imuTemp=" + imuTemp +
                ", isLocation='" + isLocation + '\'' +
                ", push_status='" + push_status + '\'' +
                ", latitude='" + latitude + '\'' +
                ", longitude='" + longitude + '\'' +
                ", pitch=" + pitch +
                ", roll=" + roll +
                ", platformType=" + platformType +
                ", satCount=" + satCount +
                ", taskId='" + taskId + '\'' +
                ", uid=" + uid +
                ", unmannedId=" + unmannedId +
                ", voltage=" + voltage +
                ", yaw=" + yaw +
                ", armd=" + armd +
                ", currentMountType=" + currentMountType +
                ", customData=" + customData +
                '}';
    }

    public Double getAirSpeed() {
        return airSpeed;
    }

    public void setAirSpeed(Double airSpeed) {
        this.airSpeed = airSpeed;
    }

    public Double getAltitude() {
        return altitude;
    }

    public void setAltitude(Double altitude) {
        this.altitude = altitude;
    }

    public Double getBarometerTemp() {
        return barometerTemp;
    }

    public void setBarometerTemp(Double barometerTemp) {
        this.barometerTemp = barometerTemp;
    }

    public Double getBattaryRemain() {
        return battaryRemain;
    }

    public void setBattaryRemain(Double battaryRemain) {
        this.battaryRemain = battaryRemain;
    }

    public Double getClimbRate() {
        return climbRate;
    }

    public void setClimbRate(Double climbRate) {
        this.climbRate = climbRate;
    }

    public Double getCurrent() {
        return current;
    }

    public void setCurrent(Double current) {
        this.current = current;
    }

    public Long getDateTime() {
        return dateTime;
    }

    public void setDateTime(Long dateTime) {
        this.dateTime = dateTime;
    }

    public Double getDistanceToHome() {
        return distanceToHome;
    }

    public void setDistanceToHome(Double distanceToHome) {
        this.distanceToHome = distanceToHome;
    }

    public Double getDistanceToNext() {
        return distanceToNext;
    }

    public void setDistanceToNext(Double distanceToNext) {
        this.distanceToNext = distanceToNext;
    }

    public Double getFlightDistance() {
        return flightDistance;
    }

    public void setFlightDistance(Double flightDistance) {
        this.flightDistance = flightDistance;
    }

    public String getFlightMode() {
        return flightMode;
    }

    public void setFlightMode(String flightMode) {
        this.flightMode = flightMode;
    }

    public String getFlightSortie() {
        return flightSortie;
    }

    public void setFlightSortie(String flightSortie) {
        this.flightSortie = flightSortie;
    }

    public Integer getFlightState() {
        return flightState;
    }

    public void setFlightState(Integer flightState) {
        this.flightState = flightState;
    }

    public String getFlightTime() {
        return flightTime;
    }

    public void setFlightTime(String flightTime) {
        this.flightTime = flightTime;
    }

    public Double getGroundSpeed() {
        return groundSpeed;
    }

    public void setGroundSpeed(Double groundSpeed) {
        this.groundSpeed = groundSpeed;
    }

    public Double getHeight() {
        return height;
    }

    public void setHeight(Double height) {
        this.height = height;
    }

    public Double getImuTemp() {
        return imuTemp;
    }

    public void setImuTemp(Double imuTemp) {
        this.imuTemp = imuTemp;
    }

    public String getIsLocation() {
        return isLocation;
    }

    public void setIsLocation(String isLocation) {
        this.isLocation = isLocation;
    }

    public String getPush_status() {
        return push_status;
    }

    public void setPush_status(String push_status) {
        this.push_status = push_status;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public Double getPitch() {
        return pitch;
    }

    public void setPitch(Double pitch) {
        this.pitch = pitch;
    }

    public Double getRoll() {
        return roll;
    }

    public void setRoll(Double roll) {
        this.roll = roll;
    }

    public Integer getPlatformType() {
        return platformType;
    }

    public void setPlatformType(Integer platformType) {
        this.platformType = platformType;
    }

    public Integer getSatCount() {
        return satCount;
    }

    public void setSatCount(Integer satCount) {
        this.satCount = satCount;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public Integer getUnmannedId() {
        return unmannedId;
    }

    public void setUnmannedId(Integer unmannedId) {
        this.unmannedId = unmannedId;
    }

    public Double getVoltage() {
        return voltage;
    }

    public void setVoltage(Double voltage) {
        this.voltage = voltage;
    }

    public Double getYaw() {
        return yaw;
    }

    public void setYaw(Double yaw) {
        this.yaw = yaw;
    }

    public Integer getArmd() {
        return armd;
    }

    public void setArmd(Integer armd) {
        this.armd = armd;
    }

    public List<Object> getCurrentMountType() {
        return currentMountType;
    }

    public void setCurrentMountType(List<Object> currentMountType) {
        this.currentMountType = currentMountType;
    }

    public CustomData getCustomData() {
        return customData;
    }

    public void setCustomData(CustomData customData) {
        this.customData = customData;
    }
}
